/* 
 * @(#)MoluscoBean.java 
 *  
 * Esta clase presenta el listado de moluscos.  
 * 
 * @version 1.0
 * @date 01/11/12 
 * @author Ricardo Escobar 
 *  
 */
package muhnes.sizoo.publico;

import java.util.List;
import java.io.Serializable;
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import muhnes.sizoo.modelo.Animal;
import muhnes.sizoo.dal.AnimalDao;
import muhnes.sizoo.dal.AnimalDaoImpl;
import muhnes.sizoo.dal.FabricaDAO;
import muhnes.sizoo.modelo.Sinonimia;

/**
 * Clase que controla la vista de moluscos
 * @author Ricardo Orellana
 */
@ManagedBean(name = "moluscoBean")
@ViewScoped
public class MoluscoBean implements Serializable{
    
    private Animal molusco;
    private List<Animal> listaMoluscos;
    
    /**
     * Constructor de la clase
     */
    public MoluscoBean(){
        molusco = new Animal();
        
    }

    /**
     * Getter de molusco
     * @return 
     */
    public Animal getAnimal() {
        return molusco;
    }

    /**
     * Metodo que devuelve una lista de moluscos
     *  
     */
    public List<Animal> getListaMoluscos() {
        if(listaMoluscos == null){
            AnimalDao animalDao = FabricaDAO.crearAnimalDao();
            listaMoluscos = animalDao.buscarMoluscos();
        }
        return listaMoluscos;
    }
   
   /**
    * Metodo que muestra las sinonimias de moluscos
    * 
    */
    public String getSinonimias(  Animal molusco ) {
        String sinonimias = "";
        for( Sinonimia sinonimia : molusco.getSinonimias() ) {
            String nombreAntiguo = sinonimia.getNombreantiguo();
            sinonimias += ", " + nombreAntiguo;
        }      
        if( !sinonimias.isEmpty() ) {
            sinonimias = sinonimias.substring(2);
        }
        else {
            sinonimias = "Ninguno";
        }
        return sinonimias;
    }
    
}
